﻿1.相机SDK接口库（参考文档安装目录\用户手册\VSensorSDK_API_CHS.chm）

2.c#库依赖c++dll编译后务必导入相应库

3.anucpu下可直接调用x64版本的dll，接口如下，与c++接口略不同
/*******************************************************************
*名称：              GetSdkVersionString
*功能：              获取SDK版本号
*入口参数：
version		         SDK版本号
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetSdkVersionString(String^% version);
/*******************************************************************
*名称：              GetDeviceList
*功能：              获取参数列表
*入口参数：
cameraInfo           相机列表信息
iNums                相机的个数
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetDeviceList(List<VSensorCameraInfoCLR^>^% cameraInfo, int% iNums);
/*******************************************************************
*名称：              GetDeviceIP
*功能：              获取设备网络地址
*入口参数：
deviceName           相机名称
addr				 相机IP
mask               	 相机子网掩码
gateWay				 相机网关
etAddr				 网卡IP
etMask				 网卡子网掩码
etGateWay			 网卡网关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetDeviceIP(String^ deviceName, String^% addr, String^% mask, String^% gateWay, String^% etAddr, String^% etMask, String^% etGateWay);
/*******************************************************************
*名称：              SetDeviceIP
*功能：              设置设备网络地址(该函数仅在相机断连时可调用)
*入口参数：
deviceName           相机名称
addr				 相机IP(如:192.168.1.100)
mask               	 相机子网掩码(如:255.255.255.0)
gateWay				 相机网关(如:192.168.1.1)
bPersistent          true:设置相机为固定IP   false:设置相机自动分配IP(忽略参数addr，mask，gateWay)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetDeviceIP(String^ deviceName, String^ addr, String^ mask, String^ gateWay, bool bPersistent);
/*******************************************************************
*名称：              SetDeviceSysOption
*功能：              配置系统选项(需要在DeviceConnect连接设备之前配置)
*入口参数：
optionName           选项
value                值
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetDeviceSysOption(String^ optionName, String^ value);
/*******************************************************************
*名称：              DeviceConnect
*功能：              设备连接
*入口参数：
iDeviceIndex         需要连接的相机索引
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int DeviceConnect(int iDeviceIndex);
/*******************************************************************
*名称：              DeviceParameterInit
*功能：              设备参数初始化，仅上电时需要进行此操作，初始化时间不固定，可通过GetDeviceParameterInitDelayTime接口获取
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int DeviceParameterInit();
/*******************************************************************
*名称：              GetDeviceParameterInitDelayTime
*功能：              获取设备参数初始化时间
*入口参数：
time                 时间
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetDeviceParameterInitDelayTime(int% time);
/*******************************************************************
*名称：              GetDeviceCustomSN
*功能：              获取设备自定义序列号
*入口参数：
serialNumber         自定义序列号
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetDeviceCustomSN(String^% serialNumber);
/*******************************************************************
*名称：              SetDeviceCustomSN
*功能：              设置设备自定义序列号
*入口参数：
serialNumber         自定义序列号
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetDeviceCustomSN(String^ serialNumber);
/*******************************************************************
*名称：              GetCamInternelParameter
*功能：              获取相机内参
*入口参数：
lPara                左相机内参
rPara                右相机内参
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetCamInternelParameter(array<double>^% lPara, array<double>^% rPara);
/*******************************************************************
*名称：              GetPara
*功能：              获取标定参数
*入口参数：
para                 相机标定参数
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetPara(array<double>^% para);
/*******************************************************************
*名称：              SetUserSettingMode
*功能：              设置用户设置模式，新手模式下设置参数为固定参数，专家模式下设置参数能自由修改，具体功能参考软件端用户模式切换功能
*入口参数：
mode                 0:新手模式  1:专家模式
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetUserSettingMode(int mode);
/*******************************************************************
*名称：              GetUserSettingMode
*功能：              获取用户设置模式
*入口参数：
mode                 用户设置模式
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetUserSettingMode(int% mode);
/*******************************************************************
*名称：              ResetUserSettingData
*功能：              重置用户设置数据
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int ResetUserSettingData();
/*******************************************************************
*名称：              LoadUserSettingData
*功能：              加载用户设置数据
*入口参数：
filePath			 加载设置文件，支持格式ini(加载该路径下的用户设置文件至设备内部并生效设置参数)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int LoadUserSettingData(String^ filePath);
/*******************************************************************
*名称：              SaveUserSettingData
*功能：              保存用户设置数据
*入口参数：
filePath			 保存路径(保存设备内部的用户设置数据至该路径)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SaveUserSettingData(String^ filePath);
/*******************************************************************
*名称：              SetZaxisRange
*功能：              设置当前Z轴范围
*入口参数：
min					 最小值
max					 最大值
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetZaxisRange(int min, int max);
/*******************************************************************
*名称：              GetZaxisRange
*功能：              获取当前Z轴范围
*入口参数：
min					 最小值
max					 最大值
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetZaxisRange(int% min, int% max);
/*******************************************************************
*名称：              SetProjectLight
*功能：              设置投影亮度
*入口参数：
brightness           投影亮度，范围1 - 100
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetProjectLight(int brightness);
/*******************************************************************
*名称：              SetDownsampling
*功能：              设置降采样，开启降采样后图像输出分辨率宽高均会降低1/2
*入口参数：
isOpen				 降采样开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetDownsampling(bool isOpen);
/*******************************************************************
*名称：              GetExposureTime
*功能：              获取曝光时间
*入口参数：
exposureTime         曝光时间，单位为ms
flag                 0:灰度相机  1:彩色相机  2:灰度相机(预览)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetExposureTime(double% exposureTime, int flag);
/*******************************************************************
*名称：              SetExposureTime
*功能：              设置曝光时间
*入口参数：
exposureTime         曝光时间，单位为ms，范围1 - 200
flag                 0:灰度相机  1:彩色相机  2:灰度相机(预览)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetExposureTime(double exposureTime, int flag);
/*******************************************************************
*名称：              SetAutoExposureTime
*功能：              设置自动曝光
*入口参数：
isOpen               自动曝光开关
targetLight          目标亮度，范围10 - 250
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetAutoExposureTime(bool isOpen, int targetLight);
/*******************************************************************
*名称：              SetHDR
*功能：              设置高动态采集模式
*入口参数：
exposureTime1		 曝光时间1，单位为ms，范围1 - 200
exposureTime2        曝光时间2，单位为ms，范围1 - 200
isOpen			     HDR开关
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetHDR(double exposureTime1, double exposureTime2, bool isOpen);
/*******************************************************************
*名称：              GetHDR
*功能：              获取高动态采集模式曝光参数
*入口参数：
exposureTime1		 曝光时间1，单位为ms
exposureTime2        曝光时间2，单位为ms
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetHDR(double% exposureTime1, double% exposureTime2);
/*******************************************************************
*名称：              SetAutoHDR
*功能：              设置自动高动态采集模式
*入口参数：
isOpen               自动高动态采集模式开关
model                0:亮场  1:暗场  2:混合场
targetLight          目标亮度，范围10 - 250
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetAutoHDR(bool isOpen, int model, int targetLight);
/*******************************************************************
*名称：              SetCameraOnceWB
*功能：              设置一键白平衡(此接口仅支持多线扫描彩色3D设备)
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetCameraOnceWB();
/*******************************************************************
*名称：              SetAnalogGain
*功能：              设置彩色相机的图像模拟增益值(此接口仅支持多线扫描彩色3D设备)
*入口参数：
iAnalogGainR         红色通道增益值，范围0 - 400
iAnalogGainG         绿色通道增益值，范围0 - 400
iAnalogGainB         蓝色通道增益值，范围0 - 400
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetAnalogGain(int iAnalogGainR, int iAnalogGainG, int iAnalogGainB);
/*******************************************************************
*名称：              GetAnalogGain
*功能：              获取彩色相机的图像模拟增益值(此接口仅支持多线扫描彩色3D设备)
*入口参数：
iAnalogGainR         红色通道增益值
iAnalogGainG         绿色通道增益值
iAnalogGainB         蓝色通道增益值
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetAnalogGain(int% iAnalogGainR, int% iAnalogGainG, int% iAnalogGainB);
/*******************************************************************
*名称：              SetAnalogGain
*功能：              设置图像模拟增益值
*入口参数：
iAnalogGain          增益值，范围5 - 10
flag                 0:灰度相机  1:彩色相机  2:灰度相机(预览)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetAnalogGain(int iAnalogGain, int flag);
/*******************************************************************
*名称：              GetAnalogGain
*功能：              获取图像模拟增益值
*入口参数：
iAnalogGain          增益值
flag                 0:灰度相机  1:彩色相机  2:灰度相机(预览)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetAnalogGain(int% iAnalogGain, int flag);
/*******************************************************************
*名称：              GetImageResolution
*功能：              获取输出图像分辨率
*入口参数：
width                图像分辨率宽
height               图像分辨率高
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetImageResolution(int% width, int% height);
/*******************************************************************
*名称：              GetImageResolution
*功能：              获取输出图像分辨率
*入口参数：
width1               灰度图像分辨率宽
height1		         灰度图像分辨率高
width2               彩色图像分辨率宽
height2		         彩色图像分辨率高
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetImageResolution(int% width1, int% height1, int% width2, int% height2);
/*******************************************************************
*名称：              GetDevTemperature
*功能：              获取传感器温度
*入口参数：
devTemperature       传感器温度
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetDevTemperature(float% devTemperature);
/*****************************************************************
*名称：              GetLuminance1(此接口已废弃)
*功能：              获取环境亮度(关闭激光器状态下)
luminance            环境亮度
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetLuminance1(int% luminance);
/*****************************************************************
*名称：              GetLuminance2(此接口已废弃)
*功能：              获取环境亮度(打开激光器状态下)
luminance            环境亮度
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetLuminance2(int% luminance);
/*******************************************************************
*名称：              SetScanTimeInterval
*功能：              设置扫描时间间隔(此接口仅支持多线扫描3D设备)
*入口参数：
level                0:500ms  1:1000ms  2:1500ms  3:2000ms  4:2500ms  5:3000ms
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetScanTimeInterval(int level);
/*******************************************************************
*名称：              SetLaserHoverPosition
*功能：              设置线激光悬停位置(此接口仅支持多线扫描3D设备)
*入口参数：
pos                  悬停位置，范围-100 - 100
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetLaserHoverPosition(int pos);
/*******************************************************************
*名称：              SetFrameRate
*功能：              设置帧速率，该接口设置采集的帧率等级，该等级为当前理论输出的最大帧率的百分比，最大帧率非固定值受曝光和ROI设置共同影响(此接口仅支持多线扫描3D设备)
*入口参数：
level                帧率等级，范围1 - 100
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetFrameRate(int level);
/*******************************************************************
*名称：              Set3DCloudCompletion
*功能：              设置点云补全(此接口仅支持多线扫描3D设备)
*入口参数：
isOpen               点云补全开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int Set3DCloudCompletion(bool isOpen);
/*******************************************************************
*名称：              SetAlgoMode
*功能：              设置算法模式(此接口仅支持线面一体和多线扫描3D设备)
*入口参数：
flag                 0:常规算法  1:抗弧光算法
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetAlgoMode(int flag);
/*******************************************************************
*名称：              SetHoleFilling
*功能：              设置数据补偿
*入口参数：
model                补偿等级，范围1 - 5，建议值1。注：1 - 2级填补点准确，3 - 5级放宽填补条件，会出现边界区域填充异常情况，3 - 4级增加大孔洞填补量，5级大孔洞填补误差最大，填补精度依次变差且补点个数依次变多
isOpen               数据补偿开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetHoleFilling(int model, bool isOpen);
/*******************************************************************
*名称：              SetOutlierDetect
*功能：              设置离散点
*入口参数：
window               离散窗口，范围1 - 5，取值越小离散点去除越弱，建议2
para				 离散参数，范围1.0 - 5.0，取值越小离散点去除越强，建议5
isOpen               离散开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetOutlierDetect(int window, float para, bool isOpen);
/*******************************************************************
*名称：              SetOutlierDetect2
*功能：              设置离散点
*入口参数：
window               离散窗口，范围10 - 50，取值越小离散点去除越弱，建议20
para				 离散参数，范围0.5 - 10，取值越小离散点去除越强，建议2
isOpen               离散开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetOutlierDetect2(int window, float para, bool isOpen);
/*******************************************************************
*名称：              SetFilter1
*功能：              设置滤波1
*入口参数：
window               滤波窗口，范围1 - 15
para				 滤波参数，范围1.0 - 10.0
isOpen               滤波开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetFilter1(int window, float para, bool isOpen);
/*******************************************************************
*名称：              SetFilter2
*功能：              设置滤波2
*入口参数：
para				 滤波参数，范围1.0 - 10.0
isOpen               滤波开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetFilter2(float para, bool isOpen);
/*******************************************************************
*名称：              SetFilter3
*功能：              设置滤波3
*入口参数：
para				 滤波参数，范围1.0 - 10.0
isOpen               滤波开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetFilter3(float para, bool isOpen);
/*******************************************************************
*名称：              SetFilter4
*功能：              设置滤波4
*入口参数：
iCutLevel		     离散点去除等级，范围0 - 8，取值越小离散点去除等级越小，建议值4
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetFilter4(int iCutLevel, bool isOpen);
/*******************************************************************
*名称：              SetFilter5
*功能：              设置滤波5
*入口参数：
para		         平滑范围，范围4 - 10，取值越大越平滑但速度越慢，建议值6
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetFilter5(int para, bool isOpen);
/*******************************************************************
*名称：              SetROI
*功能：              设置ROI感兴趣区域
*入口参数：
offsetX		         起始坐标X
offSetY              起始坐标Y
width			     区域宽，仅支持16倍数
height				 区域高，仅支持16倍数
isOpen			     ROI开关
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetROI(int offsetX, int offSetY, int width, int height, bool isOpen);
/*******************************************************************
*名称：              SetLight
*功能：              设置补光灯，预览模式下默认半亮，采集点云模式下默认暗(此接口仅支持加装补光灯的设备)
*入口参数：
flag		         0:暗  1:半亮  2:全亮
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetLight(int flag);
/*******************************************************************
*名称：              SetCaptureMode
*功能：              设置相机采集模式
*入口参数：
flag                 0:预览模式  1:采集点云模式  2:硬件触发采集点云模式(仅支持线扫模式)，默认为预览模式
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetCaptureMode(int flag);
/*******************************************************************
*名称：              SetRestructionMode
*功能：              设置相机重建模式(此接口仅支持线面一体和多线扫描3D设备切换后需要重新设备参数初始化)
*入口参数：
flag                 0:面模式  1:线模式，默认为面模式
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetRestructionMode(int flag);
/*******************************************************************
*名称：              GetRunningStatus
*功能：              获取相机后台运行状态
*入口参数：
runningStatusCLR     相机后台运行状态结构体
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetRunningStatus(VSensorCameraRunningStatusCLR^% runningStatusCLR);
/*******************************************************************
*名称：              SingleRestruction
*功能：              单次重建
*入口参数：
flag                 0:全量输出  1:输出点云  2:输出点云和深度图  3:输出点云和灰度图
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SingleRestruction(int flag);
/*******************************************************************
*名称：              ContinuousRestructionStart
*功能：              开始3D重建连续模式
*入口参数：
flag                 0:全量输出  1:输出点云  2:输出点云和深度图  3:输出点云和灰度图
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int ContinuousRestructionStart(int flag);
/*******************************************************************
*名称：              ContinuousRestructionStop
*功能：              结束3D重建连续模式
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int ContinuousRestructionStop();
/*******************************************************************
*名称：              CaptureFrame
*功能：              获取一帧点云数据
*入口参数：
resultCLR            点云数据结果
ctime                最大延时时间，单位ms
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int CaptureFrame(int ctime);
/*******************************************************************
*名称：              GetRestructionResult
*功能：              获取采集的3D点云
*入口参数：
filterFlag           0：不滤波   1：滤波1   2.去离散   3.滤波4
limitEnable          0：全量输出 1：执行 SetLimitArrayIndex()函数所获取参数，截取一个区间的数据进行传输
nStep                步长
resultCLR            点云数据结果
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetRestructionResult(int filterFlag, int limitEnable, int nStep, VSensorResultCLR^% resultCLR);
/*******************************************************************
*名称：              SetExternalTriggerMode
*功能：              设置外部触发模式
*入口参数：
flag                 0:外触发模式  1:计数器模式
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetExternalTriggerMode(int flag);
/*******************************************************************
*名称：              SetExternalTriggerDelay
*功能：              设置外部触发延时
*入口参数：
delayTime            延迟时间，单位为us，范围0 - 1000
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetExternalTriggerDelay(int delayTime);
/*******************************************************************
*名称：              SetExternalTriggerType
*功能：              设置外部触发种类
*入口参数：
flag                 0:上升沿触发  1:下降沿触发
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetExternalTriggerType(int flag);
/*******************************************************************
*名称：              SetExternalTriggerCounterTriggers
*功能：              设置外部触发计数器触发数量设定值
*入口参数：
value                计数器触发数量设定值，范围1 - 1024
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetExternalTriggerCounterTriggers(int value);
/*******************************************************************
*名称：              GetExternalTriggerCurrentCounterTriggers
*功能：              获取外部触发计数器实时触发数量
*入口参数：
count                计数器触发数量
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetExternalTriggerCurrentCounterTriggers(int% count);
/*******************************************************************
*名称：              ResetExternalTriggerCounterTriggers
*功能：              复位外部触发计数器
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int ResetExternalTriggerCounterTriggers();
/*******************************************************************
*名称：              SetCloudBufferNum
*功能：              设置点云缓存区数量
*入口参数：
num                  点云缓存区数量，默认20
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetCloudBufferNum(int num);
/*******************************************************************
*名称：              ClearCloudBuffer
*功能：              清空点云缓存区
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int ClearCloudBuffer();
/*******************************************************************
*名称：              GetCloudBuffer
*功能：              获取缓存区点云
*入口参数：
result               缓存区的点云数据数组
iNums                缓存区的点云数据数量
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetCloudBuffer(List<VSensorResultCLR^>^% result, int% iNums);
/*******************************************************************
*名称：              Record3DCloud
*功能：              录制点云(此接口仅支持线面一体和多线扫描3D设备)
*入口参数：
filePath             保存点云文件路径,支持格式pcd、ply、txt。(注:最多能录制5000帧点云数据,错误路径默认不保存点云)
flag				 0:无点云录制  1:以固定距离点云录制  2:以移动速度点云录制
para                 以固定距离点云录制模式下为间隔距离，以移动速度点云录制模式下为移动速度
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int Record3DCloud(String^ filePath, int flag, float para);
/*******************************************************************
*名称：              GetRecord3DCloud
*功能：              获取录制点云(此接口仅支持线面一体和多线扫描3D设备)
*入口参数：
cloud                录制点云，x y z
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int GetRecord3DCloud(List<Tuple<float, float, float>^>^% cloud);
/*******************************************************************
*名称：              SaveGrayMap
*功能：              保存灰度图
*入口参数：
filePath             保存灰度图文件路径，支持格式png、jpg、bmp
resultCLR            点云数据结果
flag                 0:原始图  1:矫正图
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SaveGrayMap(String^ filePath, VSensorResultCLR^ resultCLR, int flag);
/*******************************************************************
*名称：              SaveDepthMap
*功能：              保存深度图
*入口参数：
filePath             保存深度图文件路径，支持格式png、tif
resultCLR            点云数据结果
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SaveDepthMap(String^ filePath, VSensorResultCLR^ resultCLR);
/*******************************************************************
*名称：              Save3DCloud
*功能：              保存点云
*入口参数：
filePath             保存点云文件路径,支持格式pcd、ply、txt
resultCLR            点云数据结果
flag                 0:无序点云  1:有序点云
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int Save3DCloud(String^ filePath, VSensorResultCLR^ resultCLR, int flag);
/*******************************************************************
*名称：              SaveRGBMap
*功能：              保存彩色图(此接口仅支持多线扫描彩色3D设备)
*入口参数：
resultCLR            点云数据结果
SaveName             保存彩色图文件路径，支持格式png、jpg、bmp
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SaveRGBMap(String^ filePath, VSensorResultCLR^ resultCLR);
/*******************************************************************
*名称：              CameraOut
*功能：              获取相机采集
*入口参数：
imgBuffer1		     存储采集左右灰度相机拼接后的灰度图像数据，分辨率为相应相机的输出分辨率*2
imgBuffer2           存储采集彩色相机采集到的彩色图像数据，分辨率为相应相机的输出分辨率(此参数仅支持多线扫描彩色3D相机，非该系列设备可输入nullptr)
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int CameraOut(array<BYTE>^% imgBuffer1, array<BYTE>^% imgBuffer2);
/*******************************************************************
*名称：              CameraOut
*功能：              获取相机采集(此接口已废弃)
*入口参数：
imgBuffer            存储采集左右彩色相机拼接后的彩色图像数据，分辨率为相应相机的输出分辨率*2
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int CameraOut(array<BYTE>^% imgBuffer);
/*******************************************************************
*名称：              RegisterCallbackFuncGetResult
*功能：              注册获取重建结果回调函数
*入口参数：
event                回调函数事件，当相应的事件发生时，所指向的函数会被调用
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int RegisterCallbackFuncGetResult(CallbackFuncGetResult^ event);
/*******************************************************************
*名称：              DeviceUnInit
*功能：              设备反初始化
*出口参数：          成功返回0否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int DeviceUnInit();
/*******************************************************************
*名称：              SetLimitArrayIndex
*功能：              设置步长
*入口参数：
min				     范围最小值
max                  范围最大值
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int SetLimitArrayIndex(int min, int max);
/*******************************************************************
*名称：              SetGaussianFilter1
*功能：              设置滤波
*入口参数：
fpointx              有序点云x坐标
fpointy				 有序点云y坐标
fpointz              有序点云x坐标
*******************************************************************/
int SetGaussianFilter(array<float>^% fpointx, array<float>^% fpointy, array<float>^% fpointz);
/*******************************************************************
*名称：              setCallbackFuncGetResultBufferCount
*功能：              设置获取重建结果回调函数缓存区预缓存数量
*入口参数：
count				 缓存数量，范围1 - 100，默认20
*出口参数：          成功返回0.否则返回非0错误码，参考VSensorDefine.h中错误码的定义
*******************************************************************/
int setCallbackFuncGetResultBufferCount(int count);